<?php

class UserModel extends Model {
	
	/* 	array(验证字段,验证规则,错误提示,验证条件,附加规则,验证时间)
	 * 
	 * 	验证条件:
	 *	Model::EXISTS_TO_VAILIDATE 或者0 存在字段就验证 （默认）
	 *	Model::MUST_TO_VALIDATE 或者1 必须验证 
	 *	Model::VALUE_TO_VAILIDATE或者2 值不为空的时候验证 
	 *
	 *	验证规则：
	 *	regex 使用正则进行验证，表示前面定义的验证规则是一个正则表达式（默认）
	 *	function 使用函数验证，前面定义的验证规则是一个函数名
	 *	callback 使用方法验证，前面定义的验证规则是当前Model类的一个方法
	 *	confirm 验证表单中的两个字段是否相同，前面定义的验证规则是一个字段名
	 *	equal 验证是否等于某个值，该值由前面的验证规则定义
	 *	in 验证是否在某个范围内，前面定义的验证规则必须是一个数组
	 *	unique 验证是否唯一，系统会根据字段目前的值查询数据库来判断是否存在相同的值
	 *	
	 *	系统还内置了一些常用正则验证的规则，可以直接使用，包括：require 字段必须、email 邮箱、url URL地址、currency 货币、number 数字，这些验证规则可以直接使用。
	 *
	 *	验证时间：
	 *	Model:: MODEL_INSERT 或者1新增数据时候验证
	 *	Model:: MODEL_UPDATE 或者2编辑数据时候验证
	 *	Model:: MODEL_BOTH 或者3 全部情况下验证（默认）
	 */
	
	public $_validate = array(
		
		//用ThinkPHP内部方法require验证email是否为空
		array('email','require','电子邮箱必须填写'),
		
			//用ThinkPHP内部方法email验证email格式是否正确
			array('email','email','电子邮箱格式不正确!'),
		
			//用ThinkPHP内部函数unique验证email是否唯一
			array('email','','电子邮箱已被注册！',0,'unique'), 
		
		//用ThinkPHP内部方法require验证email是否为空
		array('pwd','require','密码必须填写'),
		
			array('pwd','/^[0-9A-Za-z]{6,30}$/','密码必须为6~30位的英文字母，数字！'),
		
		//用ThinkPHP内部函数confirm验证repwd和pwd表单的值是否一样
		array('repwd','pwd','确认密码不正确',1,'confirm',''),
		
	);

	/*	自动填充设置 $_auto (填充字段,填充内容,填充条件,附加规则)
	 *	填充条件 1为ADD 2为UPDATE 3为ALL
	*/
	protected $_auto  =  array(

		//在ADD时,用PHP系统函数md5修饰pwd输入的值,并写入'pwd'字段
		array('pwd','md5','1','function'),

		//在ADD时,自动填充'status'字段的值为'1'
		array('status','1','1'),
		
		//在ADD时,用time函数的返回值自动填充'create_d'字段
		array('create_d','time','1','function'),
		
	);
	
	function login() {
		
		if ($this->getByEmail($_POST['email']) && $this->getByPwd(md5($_POST['pwd']))) {
			
			$this->error = '登录成功！';
				
		} else {
		
			$this->error = '登录失败！';
			
		}
	
	}
	
}